home *** CD-ROM | disk | FTP | other *** search
/ Programming Sound Cards / Programming Sound Cards.iso / sound_70 / sbinfo.c < prev    next >
Text File  |  1995-01-01  |  3KB  |  83 lines

  1.  
  2. //------------------------------------------------------------------------------
  3. // Copyright (c) David Welch, 1993
  4. //------------------------------------------------------------------------------
  5.  
  6. #include <stdio.h>
  7. #include <dos.h>
  8.  
  9. #include "sb.h"
  10.  
  11. unsigned char major;
  12. unsigned char minor;
  13. unsigned char ca;
  14. //------------------------------------------------------------------------------
  15. void main ( void )
  16. {
  17.     sbinit();
  18.     printf("Sound Blaster found at I/O address 220h\n");
  19.     dspwrite(0xE1);
  20.     major=dspread();
  21.     minor=dspread();
  22.     printf("DSP version %u.%u\n",major,minor);
  23.     if(major==3)
  24.     {
  25.         printf("Mixer settings:\n");
  26.  
  27.         outportb(0x224,0x0C); ca=inportb(0x225);
  28.         printf("Input source:  ");
  29.         switch(ca&6)
  30.         {
  31.             case 0: printf("Microphone\n"); break;
  32.             case 2: printf("CD Audio\n"); break;
  33.             case 4: printf("Microphone\n"); break;
  34.             case 6: printf("Line-in\n"); break;
  35.             default: printf("\n"); break;
  36.         }
  37.         printf("Input filter:  ");
  38.         switch(ca&0x28)
  39.         {
  40.             case 0x00: printf("Low filter\n"); break;
  41.             case 0x08: printf("High filter\n"); break;
  42.             case 0x20:
  43.             case 0x28: printf("No filter\n"); break;
  44.             default: printf("\n"); break;
  45.         }
  46.  
  47.         outportb(0x224,0x0C); ca=inportb(0x225);
  48.         if(ca&0x20) printf("Output filter is bypassed\n");
  49.         else printf("Output filter is ON\n");
  50.         if(ca&2) printf("Stereo voice mode\n");
  51.         else printf("Mono voice mode\n");
  52.  
  53.         outportb(0x224,0x04); ca=inportb(0x225);
  54.         printf("Voice volume left %u\n",(ca>>4)&15);
  55.         printf("Voice volume right %u\n",ca&15);
  56.  
  57.         outportb(0x224,0x26); ca=inportb(0x225);
  58.         printf("FM volume left %u\n",(ca>>4)&15);
  59.         printf("FM volume right %u\n",ca&15);
  60.  
  61.         outportb(0x224,0x28); ca=inportb(0x225);
  62.         printf("CD volume left %u\n",(ca>>4)&15);
  63.         printf("CD volume right %u\n",ca&15);
  64.  
  65.         outportb(0x224,0x2E); ca=inportb(0x225);
  66.         printf("Line-in volume left %u\n",(ca>>4)&15);
  67.         printf("Line-in volume right %u\n",ca&15);
  68.  
  69.         outportb(0x224,0x0A); ca=inportb(0x225);
  70.         printf("MIC mixing level %u\n",ca&7);
  71.  
  72.         outportb(0x224,0x22); ca=inportb(0x225);
  73.         printf("Master volume left %u\n",(ca>>4)&15);
  74.         printf("Master volume right %u\n",ca&15);
  75.  
  76.  
  77.     }
  78. }
  79. //------------------------------------------------------------------------------
  80. // Copyright (c) David Welch, 1993
  81. //------------------------------------------------------------------------------
  82.  
  83.